#!/bin/sh
# PCP QA Test No. 685
# PMNS rebuild should not include root_foo if the foo PMDA is not
# in pmcd.conf
#
# Test relies on NO qa PMDA being defined in pmcd.conf.
#
# Copyright (c) 2018 Ken McDonell.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check

_cleanup()
{
    cd $here
    $sudo $PCP_BINADM_DIR/pmnsdel qa
    _service pmcd start 2>&1 | _filter_pcp_start
    _wait_for_pmcd
    _wait_for_pmlogger
    # expect Error: qa: Unknown metric name
    # and NOT qa.check: pmLookupDesc: Unknown or illegal metric identifier
    #
    pminfo -f qa
    $sudo rm -rf $tmp $tmp.* $PCP_VAR_DIR/pmns/root_qa
}

status=1	# failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15

# real QA test starts here
cat <<End-of-File >$tmp.root
/*
 * from QA $seq
 */
root {
    qa
}

qa {
    check	251:0:0
}
End-of-File

$sudo cp $tmp.root $PCP_VAR_DIR/pmns/root_qa
$sudo touch $PCP_VAR_DIR/pmns/.NeedRebuild
if ! _service pmcd start 2>&1; then _exit 1; fi | _filter_pcp_start
_wait_for_pmcd || _exit 1

# expect Error: qa: Unknown metric name
# and NOT qa.check: pmLookupDesc: Unknown or illegal metric identifier
#
pminfo -v qa

# success, all done
status=0
exit
